Asynchronous digital filters are used in many applications, including navigation, process control and machine calibration. Asynchronous filters provide a filtered output of an input signal at a variable rate, hence the asynchronous appellation (i.e., filter output is available on demand). In contrast, synchronous filters provide a filtered output at a constant rate. In the area of position control, for example, the input signal to the filter may be a sensor sample that is a measurement of velocity, position, rotational rate or angle of a spinning vehicle or body. The filter output gives an indication of the orientation or trajectory of the vehicle or body. The orientation or the trajectory of a body is often described by a fixed number of variables defined as the state of the system being observed.
Typically, an asynchronous filter receives at least one sensor sample during its time period and produces a filtered output for use by a secondary process or system. The secondary process or system may be a control system that uses the state of the system, as indicated by the filter output, to either change the state of the system or to compensate for perturbations in the state. For example, the control system of a missile or a robot arm will correct for inaccuracies between the desired trajectory and the actual trajectory as indicated by the filter output. In other applications, the filter may give an indication of other system states and the control system may perform other functions.
Filtering is necessary because measurement of physical phenomena (e.g., position, velocity, acceleration and pressure) usually results in a signal that is corrupted by noise and other sources of deviations from the actual measurement desired. The secondary process typically cannot meaningfully use noisy sensor samples. However, if the statistical properties of the noise are known, a filter can be designed to produce a more accurate estimate of the system states based on the noise-corrupted state measurements. In addition to filtering the measured signal, certain corrections and transformations of the state estimates, such as coordinate transformations, may also be made by the filter.
The variable rate feature of asynchronous filters is highly desirable because in many applications the rate at which the secondary system desires the filter output may not be constant. Furthermore, the window during which the secondary process may accept information from the filter may be restricted. As the process changes, the secondary system, which may need to make determinations about the state of the system or adjustments more often, may require more frequent and accurate updates from the filter. If a filter generates outputs at a fixed rate, the secondary system may make determinations or adjustments that are based on older and less accurate information. Consequently, a variable rate or asynchronous filter is highly desirable because it provides a filter output based on more recent sensor samples and provides a filter output that can be used by the secondary system at the time the secondary system needs the filter output, thus reducing data age. To further reduce the effects of data age, prediction may be used to extend the filtered signal into the future. Providing a filter output at or close to the time that the secondary system needs the filter output shortens the prediction time, thereby reducing the errors.
Asynchronous digital Kalman filters are one type of asynchronous digital filter. More details on asynchronous Kalman filters can be found in Applied Optimal Estimation by Arthur Gelb, MIT Press, Cambridge, Mass., 1974. Kalman filters have many desirable properties including optimality, recursive solutions, and ease of digital implementation. Unfortunately, asynchronous Kalman filters are typically very complicated and, consequently, computationally intensive and slow. The intensive computational requirements of an asynchronous Kalman filter will limit the maximum sampling frequency. As a result, the asynchronous filter may be unable to produce an output at a rate necessary for the secondary process.
Synchronous Kalman filters are simpler to design and less computationally intensive, hence they are faster. More details on synchronous Kalman filters can be found in Adaptive Filtering: Prediction and Control by Graham C. Goodwin and Kwai Sang Sin, Prentice-Hall, Inc., Englewood Cliffs, N.J. Unfortunately, a single synchronous Kalman filter is not well suited to applications that require filtered output at a variable rate. Consequently, there is a need for synchronous filters, whether of a Kalman or another type, to produce filtered output at a variable rate. The invention meets this need.
In some lithography systems, radiation from a source exposes specific areas of a wafer, that is coated with a resist sensitive to the radiation, as the wafer travels relative to the source. In this manner, a desired pattern is exposed in the resist on the wafer. The exactness of the movement of the wafer beneath the radiation source is therefore critical. It is desirable to have a control system that obtains exact state updates of the wafer as it travels relative to the radiation source. As information about the path traversed by the wafer is sampled, the signal including the measurement samples includes noise and other sources of deviations. Since statistical properties of some noise and deviations are known, filters are used to produce a more accurate estimate of the actual position based on the noisy measurement sample. In essence, the filter acts to “remove” such characterized noises and deviations. The invention provides an approximately asynchronous filter for more accurately correcting the errors associated with the motion of various components in lithography systems. Such an asynchronous filter is essential in a system where the corrections are made by a subsystem that can only accept data during a small window of time, and this window does not occur at a fixed rate. The filter, in addition to signal processing, may also use prediction to compensate for delays, and may also perform deterministic corrections and transformations on the sensor data and/or the state estimates.